{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 结构力学例题\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 0.          4.99791753  9.7875885  14.36901291 18.74219075 22.90712203\n",
      " 26.86380675 30.6122449  34.15243648 37.48438151 40.60807997 43.52353186\n",
      " 46.23073719 48.72969596 51.02040816 53.1028738  54.97709288 56.64306539\n",
      " 58.10079134 59.35027072 60.39150354 61.2244898  61.84922949 62.26572262\n",
      " 62.47396918 62.47396918 62.26572262 61.84922949 61.2244898  60.39150354\n",
      " 59.35027072 58.10079134 56.64306539 54.97709288 53.1028738  51.02040816\n",
      " 48.72969596 46.23073719 43.52353186 40.60807997 37.48438151 34.15243648\n",
      " 30.6122449  26.86380675 22.90712203 18.74219075 14.36901291  9.7875885\n",
      "  4.99791753  0.        ]\n",
      "[ 50.          47.95918367  45.91836735  43.87755102  41.83673469\n",
      "  39.79591837  37.75510204  35.71428571  33.67346939  31.63265306\n",
      "  29.59183673  27.55102041  25.51020408  23.46938776  21.42857143\n",
      "  19.3877551   17.34693878  15.30612245  13.26530612  11.2244898\n",
      "   9.18367347   7.14285714   5.10204082   3.06122449   1.02040816\n",
      "  -1.02040816  -3.06122449  -5.10204082  -7.14285714  -9.18367347\n",
      " -11.2244898  -13.26530612 -15.30612245 -17.34693878 -19.3877551\n",
      " -21.42857143 -23.46938776 -25.51020408 -27.55102041 -29.59183673\n",
      " -31.63265306 -33.67346939 -35.71428571 -37.75510204 -39.79591837\n",
      " -41.83673469 -43.87755102 -45.91836735 -47.95918367 -50.        ]\n"
     ]
    }
   ],
   "source": [
    "l=5\n",
    "q=20\n",
    "x=np.linspace(0,l,50)\n",
    "M=q/2*(l*x-x**2)\n",
    "V=q*(l/2-x)\n",
    "print(M)\n",
    "print(V)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 720x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,4))\n",
    "plt.plot([0]*len(x),color=\"k\")\n",
    "plt.plot(-M)\n",
    "plt.ylim(top=(q*1/2)+50)\n",
    "plt.plot(V)\n",
    "plt.show()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[2. 6.] -2.6043167622447072e-11\n",
      "    fjac: array([[-0.99510594,  0.09881382],\n",
      "       [-0.09881382, -0.99510594]])\n",
      "     fun: array([-2.60431676e-11,  9.94049287e-12])\n",
      " message: 'The solution converged.'\n",
      "    nfev: 14\n",
      "     qtf: array([ 5.01576515e-08, -1.36480021e-08])\n",
      "       r: array([ 5.43312215, -3.40464439, -2.94653327])\n",
      "  status: 1\n",
      " success: True\n",
      "       x: array([2., 6.]) -2.6043167622447072e-11\n",
      "1.9999999999999998 6.0\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<function matplotlib.pyplot.show(*args, **kw)>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy.optimize import fsolve,root,leastsq\n",
    "l=5\n",
    "q=20\n",
    "x=np.linspace(0,10,500)\n",
    "y1=-x*x+16*x\n",
    "y2=x*x-8*x+12\n",
    "def poly(x):\n",
    "    err=x*x-8*x+12\n",
    "    return err   \n",
    "func=lambda x : x*x-8*x+12\n",
    "result=fsolve(func,[0,10])\n",
    "result1=root(poly,[0,10],method='hybr')\n",
    "result2=leastsq(poly,[0,10])\n",
    "\n",
    "  \n",
    "print(result,poly(result[0]))\n",
    "print(result1,poly(result1[\"x\"][0]))\n",
    "print(result2[0][0],result2[0][1])\n",
    "  \n",
    "#plt.plot(y1)\n",
    "plt.plot(x,y2)\n",
    "plt.plot(x,0*x)\n",
    "xy=(result1[\"x\"][0],poly(result1[\"x\"][0]))\n",
    "plt.annotate('Root1',xy,xytext=(3,6),\n",
    "             arrowprops=dict(facecolor='red',shrink=0.05))\n",
    "xy=(result1[\"x\"][1],poly(result1[\"x\"][1]))\n",
    "plt.annotate('Root2',xy,xytext=(5,6),\n",
    "             arrowprops=dict(facecolor='red',shrink=0.05))\n",
    "plt.show"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "module 'matplotlib.pyplot' has no attribute 'axline'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-5-78a275bcae62>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      6\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0maxhline\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m1.0\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"black\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlinestyle\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"--\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      7\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0maxvline\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcolor\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"grey\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0maxline\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0.5\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mslope\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0.25\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"black\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlinestyle\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;36m5\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m5\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      9\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mt\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msig\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlinewidth\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34mr\"$\\sigma(t) = \\frac{1}{1 + e^{-t}}$\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     10\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mxlim\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m10\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m10\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mAttributeError\u001b[0m: module 'matplotlib.pyplot' has no attribute 'axline'"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.linspace(-10, 10, 100)\n",
    "sig = 1 / (1 + np.exp(-t))\n",
    "\n",
    "plt.axhline(y=0, color=\"black\", linestyle=\"--\")\n",
    "plt.axhline(y=0.5, color=\"black\", linestyle=\":\")\n",
    "plt.axhline(y=1.0, color=\"black\", linestyle=\"--\")\n",
    "plt.axvline(color=\"grey\")\n",
    "plt.axline((0, 0.5), slope=0.25, color=\"black\", linestyle=(0, (5, 5)))\n",
    "plt.plot(t, sig, linewidth=2, label=r\"$\\sigma(t) = \\frac{1}{1 + e^{-t}}$\")\n",
    "plt.xlim(-10, 10)\n",
    "plt.xlabel(\"t\")\n",
    "plt.legend(fontsize=14)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "8ba9518ca4d3a1cfdfdedb62c6a9445a18bf006711f276b156ac15948056c126"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
